package com.vic.queue_param.arguments.x_max_length;

import com.rabbitmq.client.Channel;
import com.vic.utils.RabbitmqUtils;

import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;

/**
 * 发送者
 */
public class Test_ml_producer {

    public static void main(String[] args) throws Exception {
        Channel channel = RabbitmqUtils.getChannel();

        String QUEUE_NAME = "queue_x_max_length";

        // 声明队列
        Map<String, Object> arguments = new HashMap<>();
        // 设置队列的最大消息条数为2条，超过2条，则遵循队列的“先进先出(丢)”原则。
        arguments.put("x-max-length", 2);
        channel.queueDeclare(QUEUE_NAME, false, false, false , arguments);
        for (int i = 1; i <= 5; i++) {
            // 发送消息
            channel.basicPublish("", QUEUE_NAME, null, ("hello" + i).getBytes(StandardCharsets.UTF_8));
        }
        System.out.println("消息发送完毕");
    }

}
